package com.suray.rgv.son.util;

import com.suray.basic.wcs.utils.LoggerType;
import com.suray.basic.wcs.utils.LoggerUtil;
import com.suray.basic.wcs.utils.ModuleType;

/**
 * 子车日志处理
 */
public class RgvSonLogger {

    /**
     * print to info file
     * @param type:信息类型
     * @param param:信息参数
     * @param res:保留（可以为null）
     * @param str:具体信息
     * @param clazz:调用类
     */
    public static void info(LoggerType type, Object param, Object res, String str, Class<?> clazz) {
        if (type == LoggerType.COMM_DATA) {
            return;
        }

        LoggerUtil.info(ModuleType.RGV_SON, type, param, res, str, clazz);
    }

    /**
     * print to warn file
     * @param type:信息类型
     * @param param:信息参数
     * @param res:保留（可以为null）
     * @param str:具体信息
     * @param clazz:调用类
     */
    public static void warn(LoggerType type, Object param, Object res, String str, Class<?> clazz) {
        LoggerUtil.warn(ModuleType.RGV_SON, type, param, res, str, clazz);
    }

    /**
     * print to debug file
     * @param type:信息类型
     * @param param:信息参数
     * @param res:保留（可以为null）
     * @param str:具体信息
     * @param clazz:调用类
     */
    public static void debug(LoggerType type, Object param, Object res, String str, Class<?> clazz) {
        if (type == LoggerType.COMM_DATA) {
            return;
        }

        LoggerUtil.debug(ModuleType.RGV_SON, type, param, res, str, clazz);
    }

    /**
     * print to error file
     * @param type:信息类型
     * @param param:信息参数
     * @param res:保留（可以为null）
     * @param str:具体信息
     * @param clazz:调用类
     */
    public static void error(LoggerType type, Object param, Object res, String str, Class<?> clazz) {
        LoggerUtil.error(ModuleType.RGV_SON, type, param, res, str, clazz);
    }

    /**
     * 打印抛错具体信息
     * @param e
     * @param clazz
     */
    public static void exceptionLog(LoggerType type, Object param, Object res, Throwable e, Class<?> clazz) {
        LoggerUtil.error(ModuleType.RGV_SON, type, param, res, "{}", e.getMessage(), e, clazz);
    }
}
